Type checking of variables may be performed as part of compiling and executing computer programs. Type checking refers to verifying and enforcing the constraints of data types (e.g., integers, strings, floating-point numbers, etc.) within a program.
Type checking may be performed at compile-time (i.e., a static check) or at run-time (i.e., a dynamic check). Statically-typed programming languages perform type checking at compile-time. Examples of statically-typed programming languages include Java™, C, Fortran, and the like. Java™ is a registered trademark of Sun Microsystems, Inc., located in Santa Clara, Calif. Dynamically-typed programming languages perform type checking at run-time. Examples of dynamically-typed programming languages include Lisp, Perl, Smalltalk, and the like.